home *** CD-ROM | disk | FTP | other *** search
/ LG Super CD / LG Super CD.iso / bitpim / bitpim-0.62-setup.exe / {app} / bitpim.exe / repr.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2003-11-06  |  5.0 KB  |  172 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.3)
  3.  
  4. __all__ = [
  5.     'Repr',
  6.     'repr']
  7.  
  8. class Repr:
  9.     
  10.     def __init__(self):
  11.         self.maxlevel = 6
  12.         self.maxtuple = 6
  13.         self.maxlist = 6
  14.         self.maxarray = 5
  15.         self.maxdict = 4
  16.         self.maxstring = 30
  17.         self.maxlong = 40
  18.         self.maxother = 20
  19.  
  20.     
  21.     def repr(self, x):
  22.         return self.repr1(x, self.maxlevel)
  23.  
  24.     
  25.     def repr1(self, x, level):
  26.         typename = type(x).__name__
  27.         if ' ' in typename:
  28.             parts = typename.split()
  29.             typename = '_'.join(parts)
  30.         
  31.         if hasattr(self, 'repr_' + typename):
  32.             return getattr(self, 'repr_' + typename)(x, level)
  33.         else:
  34.             s = `x`
  35.             if len(s) > self.maxother:
  36.                 i = max(0, (self.maxother - 3) // 2)
  37.                 j = max(0, self.maxother - 3 - i)
  38.                 s = s[:i] + '...' + s[len(s) - j:]
  39.             
  40.             return s
  41.  
  42.     
  43.     def repr_tuple(self, x, level):
  44.         n = len(x)
  45.         if n == 0:
  46.             return '()'
  47.         
  48.         if level <= 0:
  49.             return '(...)'
  50.         
  51.         s = ''
  52.         for i in range(min(n, self.maxtuple)):
  53.             if s:
  54.                 s = s + ', '
  55.             
  56.             s = s + self.repr1(x[i], level - 1)
  57.         
  58.         if n > self.maxtuple:
  59.             s = s + ', ...'
  60.         elif n == 1:
  61.             s = s + ','
  62.         
  63.         return '(' + s + ')'
  64.  
  65.     
  66.     def repr_list(self, x, level):
  67.         n = len(x)
  68.         if n == 0:
  69.             return '[]'
  70.         
  71.         if level <= 0:
  72.             return '[...]'
  73.         
  74.         s = ''
  75.         for i in range(min(n, self.maxlist)):
  76.             if s:
  77.                 s = s + ', '
  78.             
  79.             s = s + self.repr1(x[i], level - 1)
  80.         
  81.         if n > self.maxlist:
  82.             s = s + ', ...'
  83.         
  84.         return '[' + s + ']'
  85.  
  86.     
  87.     def repr_array(self, x, level):
  88.         n = len(x)
  89.         header = "array('%s', [" % x.typecode
  90.         if n == 0:
  91.             return header + '])'
  92.         
  93.         if level <= 0:
  94.             return header + '...])'
  95.         
  96.         s = ''
  97.         for i in range(min(n, self.maxarray)):
  98.             if s:
  99.                 s += ', '
  100.             
  101.             s += self.repr1(x[i], level - 1)
  102.         
  103.         if n > self.maxarray:
  104.             s += ', ...'
  105.         
  106.         return header + s + '])'
  107.  
  108.     
  109.     def repr_dict(self, x, level):
  110.         n = len(x)
  111.         if n == 0:
  112.             return '{}'
  113.         
  114.         if level <= 0:
  115.             return '{...}'
  116.         
  117.         s = ''
  118.         keys = x.keys()
  119.         keys.sort()
  120.         for i in range(min(n, self.maxdict)):
  121.             if s:
  122.                 s = s + ', '
  123.             
  124.             key = keys[i]
  125.             s = s + self.repr1(key, level - 1)
  126.             s = s + ': ' + self.repr1(x[key], level - 1)
  127.         
  128.         if n > self.maxdict:
  129.             s = s + ', ...'
  130.         
  131.         return '{' + s + '}'
  132.  
  133.     
  134.     def repr_str(self, x, level):
  135.         s = `x[:self.maxstring]`
  136.         if len(s) > self.maxstring:
  137.             i = max(0, (self.maxstring - 3) // 2)
  138.             j = max(0, self.maxstring - 3 - i)
  139.             s = `x[:i] + x[len(x) - j:]`
  140.             s = s[:i] + '...' + s[len(s) - j:]
  141.         
  142.         return s
  143.  
  144.     
  145.     def repr_long(self, x, level):
  146.         s = `x`
  147.         if len(s) > self.maxlong:
  148.             i = max(0, (self.maxlong - 3) // 2)
  149.             j = max(0, self.maxlong - 3 - i)
  150.             s = s[:i] + '...' + s[len(s) - j:]
  151.         
  152.         return s
  153.  
  154.     
  155.     def repr_instance(self, x, level):
  156.         
  157.         try:
  158.             s = `x`
  159.         except:
  160.             return '<' + x.__class__.__name__ + ' instance at ' + hex(id(x))[2:] + '>'
  161.  
  162.         if len(s) > self.maxstring:
  163.             i = max(0, (self.maxstring - 3) // 2)
  164.             j = max(0, self.maxstring - 3 - i)
  165.             s = s[:i] + '...' + s[len(s) - j:]
  166.         
  167.         return s
  168.  
  169.  
  170. aRepr = Repr()
  171. repr = aRepr.repr
  172.